package com.kgc.scd.service;

import com.kgc.scd.service.impl.WebGoodsCommentServiceImpl;
import com.kgc.scd.util.PageSupport;
import com.kgc.scd.vo.ShopCarouselVO;
import com.kgc.scd.vo.ShopCommentVO;
import com.kgc.scd.vo.ShopGoodsVO;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * Created On : 2022/11/15.
 * <p>
 * Author : 22166
 * <p>
 * Description: WebCommentService
 */
@FeignClient(value = "wyyxmall-cjw-server",fallback = WebGoodsCommentServiceImpl.class)
public interface WebGoodsCommentService {


    /**
     * @author : 22166
     * @date   : 2022/11/14
     * @param  : [goods]
     * @return : com.kgc.scd.bean.Goods
     * @description : 根据商品id,查看商品详情
     */
    @GetMapping("/shopGoods")
    ShopGoodsVO selectGoodsInfoWeb(@RequestParam("goodsId") String goodsId);

    /**
     * @author : 22166
     * @date   : 2022/11/17
     * @param  : [goodsId]
     * @return : int
     * @description : 根据商品id,查询评论总数
     */
    @GetMapping("/getCommentSum")
    int getCommentSumWeb(@RequestParam("goodsId") String goodsId);

    /**
     * @author : 22166
     * @date   : 2022/11/14
     * @param  : [pageNo, pageSize]
     * @return : com.kgc.scd.util.PageSupport<com.kgc.scd.bean.ShopCommentVO>
     * @description : 商品评论加分页
     */
    @GetMapping("/goodsCommentList")
    PageSupport<ShopCommentVO> getCommentListPageWeb(@RequestParam("goodsId") String goodsId, @RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize);


    /**
     * @author : 22166
     * @date   : 2022/11/15
     * @param  : [isShow]
     * @return : java.util.List<com.kgc.scd.bean.ShopCarousel>
     * @description : 查询轮播图
     */
    @GetMapping("/carousel")
    List<ShopCarouselVO>  queryAllWeb();

    /**
     * @author : 崔佳伟
     * @date   : 2022/11/23
     * @param  : [id, goodsId]
     * @return : int
     * @description : 根据轮播图id，更新轮播图对应商品
     */
    @PostMapping("/update")
    int updateShopCarousel(@RequestParam("id") String id,@RequestParam("goodsId") String goodsId);


}
